Systems and methods for authenticating users within a computing or access control environment

ABSTRACT

Authentication methods and systems are disclosed. In one non-limiting example, an authentication method may include detecting a user within an image, determining that the image further includes additional recognizable data, analyzing the additional recognizable data and one or more biometric features of the user, and determining that the additional recognizable data and the one or more biometric features of the user correspond to valid additional recognizable data and valid biometric features of an enrolled user, respectively. The method may further include enabling the user to access a protected asset based on determining that the additional recognizable data and the one or more biometric features of the user correspond to valid additional recognizable data and valid biometric features of an enrolled user, respectively.

CROSS-REFERENCE TO RELATED APPLICATION(S)

This application claims the benefit of U.S. Prov. Pat. Appl. No.62/737,186, titled “Systems and Methods for Authenticating Users Withina Computing or Access Control Environment,” filed Sep. 27, 2018, whichis hereby incorporated by reference herein in its entirety.

FIELD OF THE DISCLOSURE

Embodiments of the present disclosure relate to authentication and, morespecifically, to various systems and methods of authenticating users invarious computing environments and/or access control systems.

BACKGROUND

Authentication methods and systems often have to balance the security ofthe system with the user experience during the authentication process.In general, usability or user experience is often at odds with thesystem security or strength of authentication. On the one hand, if anauthentication process is highly useable or “user friendly”, then thatauthentication process is not as secure as other authenticationprocesses which are less user friendly. An ideal scenario would be todevelop an authentication process that simultaneously improves the userexperience while increasing system security.

SUMMARY

It is with respect to the above that embodiments of the presentdisclosure were contemplated. In particular, embodiments of the presentdisclosure contemplate various authentication methods and systems forexecuting such methods. One non-limiting example of such anauthentication method includes:

detecting a user within an image;

determining that the image frame further comprises additionalrecognizable data;

analyzing the additional recognizable data and one or more biometricfeatures of the user;

determining that the additional recognizable data and the one or morebiometric features of the user correspond to valid additionalrecognizable data and valid biometric features of an enrolled user,respectively; and

enabling the user to access a protected asset based on determining thatthe additional recognizable data and the one or more biometric featuresof the user correspond to valid additional recognizable data and validbiometric features of an enrolled user, respectively.

In some embodiments, the additional recognizable data comprises a uniquecode depicted by a user interface of a client device that is adjacent tothe one or more biometric features of the user within the image. In someembodiments, the one or more biometric features reside within a firstregion of interest within the image, wherein the additional recognizabledata resides within a second region of interest within the image, andwherein the first region of interest is separate from the second regionof interest.

In some embodiments, the method may further include determining aconfidence score for a recognition of the additional recognizable datafrom the image and notifying the user to adjust a presentation of theadditional recognizable data in response to the confidence score beingless than a predetermined minimum threshold score.

In some embodiments, the additional recognizable data comprises a OneTime Password generated in response to the user initiating anauthentication process.

In some embodiments, the method may further include generating theadditional recognizable data at a mobile client device and rendering theadditional recognizable data via a user interface of the mobile clientdevice such that the additional recognizable data is capable of beingdetected within the image. Alternatively or additionally, the additionalrecognizable data comprises a device type of a mobile client device usedto generate the additional recognizable data.

In some embodiments, the one or more biometric features comprise facialfeatures of the user and wherein determining that the one or morebiometric features of the user correspond to valid biometric features ofan enrolled user comprises generating a biometric template based on theone or more biometric features and comparing the biometric template witha stored template that was generated based on the valid biometricfeatures of the enrolled user.

In another embodiment, a method is provided that comprises:

detecting a user within an image;

analyzing one or more biometric features of the user;

determining that the one or more biometric features of the usercorrespond to a valid biometric feature or features of an enrolled user;

parallel with or in response to determining that the one or morebiometric features of the user correspond to a valid biometric featureor features of an enrolled user, generating one or more Graphical UserInterface (GUI) elements that enable the user to input a code;

presenting the one or more GUI elements to the user;

receiving the code input by the user; and

comparing the code input by the user with a valid code to determinewhether or not to enable the user access to a protected asset.

In some embodiments, the one or more GUI elements depict data in arandomized layout and wherein the data depicted in the one or more GUIelements include inputs for the valid code and additional inputs not inthe valid code. As a non-limiting example, the valid code may comprise aOne Time Password generated in response to determining that the one ormore biometric features of the user correspond to valid biometricfeatures of an enrolled user.

In some embodiments, the method may further include analyzing the user'sgaze with respect to the one or more GUI elements and determining thatthe user's gaze matches the valid code.

In some embodiments, the one or more GUI elements are presented via auser interface of a client device that is used to detect the image.

In some embodiments, determining that the one or more biometric featuresof the user correspond to a valid biometric feature or features of anenrolled user is performed in parallel with presenting the one or moreGUI elements to the user.

In another embodiment, a method is provided that comprises:

detecting a user within an image;

analyzing one or more biometric features of the user;

determining that the one or more biometric features of the usercorrespond to a valid biometric feature or features of an enrolled user;

in response to determining that the one or more biometric features ofthe user correspond to a valid biometric feature or features of anenrolled user, identifying a client device associated with the user; andrequiring the identified client device to successfully complete achallenge to continue authentication.

In some embodiments, the challenge comprises a push notification andwherein the client device comprises a messaging address that ismaintained in a user authentication database in association with anidentification of the user and in association with the one or morebiometric features of the user.

In some embodiments, the push notification causes the client device todisplay a prompt to the user that includes an approve input and adecline input. The push notification may be generated automatically andwithout user input.

In some embodiments, the image of the user is detected with a firstclient device that is different from the client device identified asbeing associated with the user.

In some embodiments, the one or more biometric features comprise facialfeatures of the user, wherein determining that the one or more biometricfeatures of the user correspond to a valid biometric feature or featuresof an enrolled user comprises generating a biometric template based onthe one or more biometric features and comparing the biometric templatewith a stored template that was generated based on the valid biometricfeature or features of the enrolled user, and wherein the client devicesends back a signed confirmation to an authentication server to notify aresource to access of the authentication success or failure.

In another embodiment, a method is provided that comprises:

generating a challenge;

causing the challenge to be displayed to the user;

receiving a response from a client device that includes informationdisplayed in the challenge; and

enabling the user to access a protected asset in response to determiningthat the response from the client device included the informationdisplayed in the challenge.

In some embodiments, the challenge comprises a unique optical code thatis encoded and signed.

In some embodiments, the method further comprises determining that thesignature of the unique optical code is valid prior to causing thechallenge to be displayed to the user and signing the response with theclient device thereby enabling a server to establish a level of trustwith the client device prior to determining that the response from theclient device includes the information displayed in the challenge.

In some embodiments, the unique optical code comprises a QR code orbarcode.

In some embodiments, the challenge comprises a web token that is encodedinside an optical code.

In another embodiment, a method is provided that comprises:

receiving a request to authenticate the user;

identifying a client device associated with the user;

transmitting a challenge to the client device to solicit approval fromthe user to continue authentication;

receiving a response to the challenge that indicates approval tocontinue authentication;

causing a user interface of the client device to include a signaturesection;

receiving a user signature from a user input within the signaturesection;

comparing the user signature from the user input with a valid usersignature; and

conditioning user access to a protected asset based on whether or notthe user signature from the user input matches the valid user signaturewithin a predefined tolerance.

In some embodiments, the user interface further includes a promptsection adjacent to the signature section.

In some embodiments, the comparison of the user signature from the userinput with the valid user signature is performed at the client device.

In some embodiments, the comparison of the user signature from the userinput with the valid user signature is performed at an authenticationserver that transmitted the challenge to the client device.

In some embodiments the method may further comprise performing facialrecognition of the user and identifying the client device associatedwith the user based on results of the facial recognition of the user.

Another aspect of the present disclosure provides a system having anauthentication server configured to perform any of the methods depictedand described herein.

The phrases “at least one,” “one or more,” and “and/or” are open-endedexpressions that are both conjunctive and disjunctive in operation. Forexample, each of the expressions “at least one of A, B and C,” “at leastone of A, B, or C,” “one or more of A, B, and C,” “one or more of A, B,or C” and “A, B, and/or C” means A alone, B alone, C alone, A and Btogether, A and C together, B and C together, or A, B and C together.When each one of A, B, and C in the above expressions refers to anelement, such as X, Y, and Z, or class of elements, such as X1-Xn,Y1-Ym, and Z1-Zo, the phrase is intended to refer to a single elementselected from X, Y, and Z, a combination of elements selected from thesame class (e.g., X1 and X2) as well as a combination of elementsselected from two or more classes (e.g., Y1 and Zo).

The term “a” or “an” entity may refer to one or more of that entity. Assuch, the terms “a” (or “an”), “one or more” and “at least one” can beused interchangeably herein. It is also to be noted that the terms“comprising”, “including”, and “having” can be used interchangeably.

The preceding is a simplified summary of the disclosure to provide anunderstanding of some aspects of the disclosure. This summary is neitheran extensive nor exhaustive overview of the disclosure and its variousaspects, embodiments, and configurations. It is intended neither toidentify key or critical elements of the disclosure nor to delineate thescope of the disclosure but to present selected concepts of thedisclosure in a simplified form as an introduction to the more detaileddescription presented below. As will be appreciated, other aspects,embodiments, and configurations of the disclosure are possibleutilizing, alone or in combination, one or more of the features setforth above or described in detail below.

BRIEF DESCRIPTION OF THE DRAWINGS

The present disclosure is described in conjunction with the appendedfigures, which are not necessarily drawn to scale:

FIG. 1 is a block diagram depicting a system that supports one or moreauthentication methods in accordance with at least some embodiments ofthe present disclosure;

FIG. 2 depicts a user interface used for a first authentication methodin accordance with at least some embodiments of the present disclosure;

FIG. 3 is a flow chart depicting a first authentication method inaccordance with at least some embodiments of the present disclosure;

FIG. 4 depicts a user interface used for a second authentication methodin accordance with at least some embodiments of the present disclosure;

FIG. 5A is a flow chart depicting one example of a second authenticationmethod in accordance with at least some embodiments of the presentdisclosure;

FIG. 5B is a flow chart depicting another example of a secondauthentication method in accordance with at least some embodiments ofthe present disclosure;

FIG. 6A depicts a user interface used for a third authentication methodin accordance with at least some embodiments of the present disclosure;

FIG. 6B depicts another user interface used for the third authenticationmethod in accordance with at least some embodiments of the presentdisclosure;

FIG. 7 is a flow chart depicting a third authentication method inaccordance with at least some embodiments of the present disclosure;

FIG. 8 is a diagram depicting a fourth authentication method inaccordance with at least some embodiments of the present disclosure;

FIG. 9A depicts a first user interface in a series of user interfacesused in a fifth authentication method in accordance with at least someembodiments of the present disclosure;

FIG. 9B depicts a second user interface in a series of user interfacesused in a fifth authentication method in accordance with at least someembodiments of the present disclosure;

FIG. 10 is a flow chart depicting a fifth authentication method inaccordance with at least some embodiments of the present disclosure;

FIG. 11 is a flow chart depicting a sixth authentication method inaccordance with at least some embodiments of the present disclosure.

DETAILED DESCRIPTION Copyright and Legal Notices

A portion of the disclosure of this patent document includes materialwhich is subject to copyright protection. The copyright owner has noobjection to the facsimile reproduction by anyone of the patent documentor the patent disclosure, as it appears in the Patent and TrademarkOffice patent files or records, but otherwise reserves all copyrightswhatsoever.

Before any embodiments of the disclosure are explained in detail, it isto be understood that the disclosure is not limited in its applicationto the details of construction and the arrangement of components setforth in the following description or illustrated in the followingdrawings. The disclosure is capable of other embodiments and of beingpracticed or of being carried out in various ways. Also, it is to beunderstood that the phraseology and terminology used herein is for thepurpose of description and should not be regarded as limiting.

With reference to FIG. 1 , an illustrative system 100 will be describedin accordance with at least some embodiments of the present disclosure.The system 100, in some embodiments, may include one or more computingdevices operating in cooperation with one another to provide one or moreauthentication functions. The components of the system 100 may beutilized to facilitate one, some, or all of the authentication methodsor portions thereof without departing from the scope of the presentdisclosure.

The system 100 is shown to include a communication network 104 thatfacilitates communications between one or more client devices 108 andone or more server resources 116.

In some embodiments, the various client devices 108 and server(s) 116may be configured to communicate using various nodes or components ofthe communication network 104. The communication network 104 maycomprise any number of communication networks, and may also comprise anytype of known communication medium or collection of communication mediaand may use any type of protocols to transport messages betweenendpoints. The communication network 104 may include wired and/orwireless communication technologies. The Internet is an example of thecommunication network 104 that constitutes an Internet Protocol (IP)network consisting of many computers, computing networks, and othercommunication devices located all over the world, which are connectedthrough many telephone systems and other means. Other examples of thecommunication network 104 include, without limitation, a standard PlainOld Telephone System (POTS), an Integrated Services Digital Network(ISDN), the Public Switched Telephone Network (PSTN), a Local AreaNetwork (LAN), a Wide Area Network (WAN), a Session Initiation Protocol(SIP) network, a Voice over Internet Protocol (VoIP) network, a cellularnetwork, and any other type of packet-switched or circuit-switchednetwork known in the art. In addition, it can be appreciated that thecommunication network 104 need not be limited to any one network type,and instead may be comprised of a number of different networks and/ornetwork types. Moreover, the communication network 104 may comprise anumber of different communication media such as coaxial cable, coppercable/wire, fiber-optic cable, antennas for transmitting/receivingwireless messages, and combinations thereof. Although the communicationnetwork 104 is depicted as a single network, it should be appreciatedthat the communication network 104 may include a plurality of differentnetworks and/or network types without departing from the scope of thepresent disclosure.

The client devices 108 may correspond to any type of computing resourcethat includes a processor, computer memory, and a user interface. Theclient devices 108 may also include one or more network interfaces thatconnect the client device 108 to the communication network 104 andenable the client device 108 to send/receive packets via thecommunication network 104. Non-limiting examples of client devices 108include personal computers, laptops, mobile phones, smart phones,tablets, wearables, tokens, etc. A token may generally include aphysical device used to gain access to an electronically restrictedarea, and may, for example, be a disconnected (e.g., neither having aphysical or logical connection to a client computer) or connected token,a smartcard, a contactless token, such as a RFID token, a programmabletoken, etc. In some embodiments, the client device 108 is configured tobe used by and/or carried by a user 112. As will be discussed in furtherdetail herein, the user 112 may utilize one or several client devices108 to authenticate themselves to the server 116.

In some embodiments, a client device 108 may be configured to access orutilize the server 116 with one or several applications stored in memoryof the client device 108. As an example, a client device 108 may accessthe server 116 with assistance from a browser application running on theclient device 108. Other types of applications such as mobileapplications, transaction applications, communication applications, etc.may also be used on the client device 108 to access the client serviceresource(s) 116.

Although FIG. 1 only depicts the user 112 as having a single clientdevice 108, it should be appreciated that a single user 112 may possesstwo or more client devices 108. The client devices 108 owned and/orcarried by the user 112 may be of the same type or of a different type.For instance, the user 112 may carry two different mobile communicationdevices (e.g., smartphones) as two different client devices 108.Alternatively or additionally, a user 112 may utilize a mobilecommunication device as one client device 108 and then utilize aPersonal Computer (PC), laptop, or the like as a second client device108. One or multiple client devices 108 may be used in connection withperforming an authentication process with the user 112.

The authentication server 116 or components thereof may be provided as asingle server, multiple servers or in a cloud-computing environment. Inany scenario, the authentication server 116 may be connected to thecommunication network 104 via a network interface 128 and resources ofthe server 116 (e.g., the processor 120 and instructions stored inmemory 124) may be made available to one or multiple client devices 108.For instance, the authentication server 116 may be used to authenticateusers 112 within a particular computing platform or across multipledifferent computing platforms.

The authentication server 116 may be configured to execute one ormultiple different types of authentication processes for the user 112 orclient devices 108 of the user. Such authentication processes may beperformed to secure various types of assets (e.g., computing assets,website access, account access, physical access, etc.). Theauthentication server 116 may have access to and maintain a userauthentication data set that is stored in a user authentication database152. The user authentication database 152 may store data, authenticationrules, and/or templates that can be used by the authentication server116 to authenticate one or multiple users 112. As a non-limitingexample, the user authentication database 152 may be used to storebiometric templates for one or multiple users 112 and the informationincluded in the biometric templates can be used to verify an identity orauthenticate a user 112 based on images captured by their client device108, as will be described in further detail herein. The userauthentication database 152 may be provided as an extensible ornon-extensible database. Specifically, the user authentication database152 may take on any form of known or yet-to-be developed databasestructures (e.g., graph database, hierarchical database, relationaldatabase, object-oriented database, network database, etc.)

The authentication server 116 is shown to include a processor 120 andmemory 124 in addition to the network interface 128. These resources mayenable functionality of the authentication server 116 as will bedescribed herein. For instance, the network interface 128 provides theserver 116 with the ability to send and receive communication packetsover the communication network 104. The network interface 128 may beprovided as a network interface card (NIC), a network port, drivers forthe same, and the like. Communications between the components of theserver 116 and other devices connected to the communication network 104may all flow through the network interface 128.

The processor 120 may correspond to one or many computer processingdevices. For instance, the processor 120 may be provided as silicon, asa Field Programmable Gate Array (FPGA), an Application-SpecificIntegrated Circuit (ASIC), any other type of Integrated Circuit (IC)chip, a collection of IC chips, or the like. As a more specific example,the processor 120 may be provided as a microprocessor, CentralProcessing Unit (CPU), or plurality of microprocessors or CPUs that areconfigured to execute the instruction sets stored in memory 124. Uponexecuting the instruction sets stored in memory 124, the processor 120enables various authentication functions of the authentication server116.

The memory 124 may include any type of computer memory device orcollection of computer memory devices. Non-limiting examples of memory124 include Random Access Memory (RAM), Read Only Memory (ROM), flashmemory, Electronically-Erasable Programmable ROM (EEPROM), Dynamic RAM(DRAM), etc. The memory 124 may be configured to store the instructionsets depicted in addition to temporarily storing data for the processor120 to execute various types of routines or functions. Although notdepicted, the memory 124 may include instructions that enable theprocessor 120 to store data into the user authentication database 152and retrieve information from the user authentication database 152.Alternatively or additionally, the user authentication database 152 ordata stored therein may be stored internal to the server 116 (e.g.,within the memory 124 of the server 116 rather than in a separatedatabase).

The illustrative instruction sets that may be stored in memory 124include, without limitation, facial recognition instructions 132, OneTime Password (OTP) instructions 136, gaze tracking instructions 140,optical code analysis instructions 144, and challenge/responseinstructions 148. Functions of the server 116 enabled by these variousinstruction sets will be described in further detail herein. It shouldbe appreciated that the instruction sets depicted in FIG. 1 may becombined (partially or completely) with other instruction sets or may befurther separated into additional and different instruction sets,depending upon configuration preferences for the server 116. Saidanother way, the particular instruction sets depicted in FIG. 1 shouldnot be construed as limiting embodiments described herein.

With reference now to FIGS. 2 and 3 , a first authentication processwill be described in accordance with at least some embodiments of thepresent disclosure. This particular authentication process may beenabled by the server 116 executing facial recognition instructions 132,OTP instructions 136, optical code analysis instructions 144, and/orchallenge/response instructions 148. Although the process will bedescribed in connection with authenticating a single user 112, it shouldbe appreciated that the process can be used to authenticate one ormultiple users at the same time without departing from the scope of thepresent disclosure.

The first authentication process may be initiated when a user 112requests access to one or more assets that are otherwise protected bythe authentication server 116 and require the user 112 to prove his/heridentity prior to allowing access to the one or more assets (step 304).In some embodiments, the process may be initiated by the user 112 simplyattempting to access a protected asset via their client device 108 andthe user 112 may be redirected or prompted by the authentication server116 to perform the authentication process. As a non-limiting example,the user 112 may be attempting to access the asset using their clientdevice 108. FIG. 2 depicts two examples of a user's 112 client device108. Specifically, FIG. 2 shows the user 112 as sitting in front of acomputational device 204, such as a personal computer or laptopcomputer, and holding a mobile client device 108. The mobile clientdevice 108 is referred to as a client device whereas the computationaldevice 204 is not referred to as a client device simply to avoidconfusion (e.g., so as not to use the same term for different devices inthis discussion). It should be appreciated, however, that both thecomputational device 204 and mobile communication device 108 can bereferred to as a first and second different type of client device 108that are used by the user 112. In some embodiments, the user 112 mayhave attempted to access a protected asset by their computational device204 or by their mobile client device 108.

The computational device 204, in some embodiments, may be provided as asecond mobile client device. Specifically, any type of device that isconfigured to capture an image of the user 112 and communicate thatinformation to the authentication server 116 can be used as thecomputational device 204. The computational device 204 is depicted toinclude a user interface 208 that at least includes a display screen.The computational device 204 may also include an image-capture device232 (e.g., camera, video camera, etc.) that is configured to capture oneor more images of the user 112 and the user's 112 mobile client device108.

An image of the user 112 may be captured by an image sensor 232 afterthe authentication process is initiated and the image may be sent fromthe computational device 204 to the authentication server 116 via thecommunication network 104. The image-capture device 232 may correspondto any type of image-capturing device configured to capture video imagesand/or still images 112 of the user 112 when the user 112 is positionedin front of the computational device 204. The authentication server 116may utilize the facial recognition instructions 132 to automaticallyidentify pixels of interest with the one or more images received fromthe computational device 204. In some embodiments, the facialrecognition instructions 132 may be used to detect a user 112 within theimage frame (step 308). In a more specific embodiment, the facialrecognition instructions 132 may be used to identify a first region ofinterest 216 within the image frame, where the first region of interest216 includes pixels that make up the user's 112 facial image. The facialrecognition instructions 132 may be configured to simply identify thatpixels in the image frame include an image of a human face or some otherpart of user 112 to be submitted to a recognition process (e.g.,fingerprint, ear lobe, etc.). At this point, the facial recognitioninstructions 132 may not actually be invoked to begin analyzing theuser's 112 features within the first region 216 as the image frame maybe further searched for additional recognizable data (step 312).

In some embodiments, when the first region of interest 216 isidentified, the process continues with the authentication server 116further searching the image frame for other recognizable data. The otherrecognizable data may be in the form of a OTP (e.g., in plain text,encrypted text, hashed text, optical code, linear barcode, matrix (2D)barcodes such as a QR code, etc.) being displayed on a display screen212 of the mobile client device 108. If this additional recognizabledata is detected, then the authentication server 116 may identify asecond region of interest 224 within the image frame and the query ofstep 312 may be answered affirmatively. If no additional recognizabledata is detected, then the query of step 312 may be answered negatively.In some embodiments, it may be desirable to perform the additionalsearch of the image frame for recognizable data prior to performing thebiometric analysis of the user's 112 image in the first region ofinterest 216. Specifically, searching for the additional recognizabledata beforehand can possibly avoid the unnecessary use of processingresources for biometric analysis if the second region of interest 224 isnot identified.

In some embodiments, the authentication server 116 may utilize imageprocessing instructions to search the image frame for data having apredetermined or defined format. For instance, the authenticationprocess may require that the user 112 pass a facial recognitionchallenge in addition to presenting a valid OTP on their mobile clientdevice 108. Failure to pass both challenges may result in a denial ofthe authentication attempt (step 316). In some embodiments, the OTPrequired to be presented by the mobile client device 108 may have adefined and predictable format (e.g., a defined number of characters, adefined starting or ending symbol, a QR code format, a barcode format,etc.). If the image processing instructions of the authentication server116 do not recognize any additional data within the image frame, thenthe authentication server 116 can simply make the decision that the user112 has not presented the necessary information to complete theauthentication process and access to the protected asset may be denied.

The additional data may also correspond to data representing the type ofdevice providing the OTP. As a non-limiting example, the authenticationserver 116 may be configured to analyze an image of the mobile clientdevice 108 to determine a type of the mobile client device (e.g.,iPhone, Samsung, keychain OTP, etc.). The authentication server 116 mayfurther be configured to confirm that the device type matches the OTPdevice enrolled by a user or administrator of the system 100.

However, if the image frame is determined to have additionalrecognizable data, perhaps in the form of a OTP, QR code, barcode, etc.,presented on the mobile client device 108, then the authenticationserver 116 may continue the authentication process by analyzing therecognizable data within the second region of interest 224 in the image(step 320). The analysis of the recognizable data may be performedbefore, after, or in parallel with the analysis of the user's 112 imagefrom the first region of interest 216. For example, if the analysis ofboth the recognizable data and user image can be performed relativelyquickly in parallel, it may be desirable to do so, thereby minimizingthe amount of time required for the user 112 to endure theauthentication process (e.g., to increase usability of the system). Inother embodiments, if the analysis of one type of data takes more timeas compared to the other, it may be desirable to analyze the type ofdata that requires less time so that a first decision on validity ofthat data can be made before committing processing resources toanalyzing the second type of data. As a non-limiting example, it may bedesirable to first analyze the recognizable data prior to analyzing theuser image if biometric authentication takes longer than analysis of aQR code or string of alphanumeric characters.

In some embodiments, both the first region of interest 216 and secondregion of interest 224 may be analyzed in an attempt to obtaininformation about the user's image 220 and information about the OTP228, respectively. In the illustrative embodiment, the first region ofinterest 216 may include an image of the user's 112 face, in which casethe image recognition instructions 132 will be used to try and identifythe user 112 based on their facial image. This facial recognition stepmay be performed by identifying features of the user 112 within thefirst region of interest 216 and converting those features to a templateor set of data. The template or set of data may be compared to templatesor data sets within the user authentication database 152 to see if theuser can be found as a known user within the database 152. As anon-limiting example, the facial recognition instructions 124 mayidentify the user's 112 biometric information in the database 152 anddetermine that the biometric information corresponds to the user 112,perhaps with a particular confidence score. It should be appreciatedthat any type of biometric analysis can be performed to try and identifythe user 112 as a known and enrolled user of the authentication system.If the user's image is recognized, at least within a predefinedconfidence tolerance, then the user image can be recognized as valid(step 324). If the user's image is not recognized from data within thedatabase 152, then the authentication attempt may be denied (step 316).Recognizing the user based on an analysis of the first region ofinterest, which may include an image of the user's face or otherbiometric information, allows the user to avoid physically entering orkeying in user identification information, such as a username or emailin order to identify the user, which protects against key logger attacks(e.g., recording (logging) of the keys struck on a keyboard by a user,typically covertly).

Assuming the user's 112 image is recognized as valid, then theauthentication server 116 may further analyze the additionalrecognizable data from the second region of interest 224 to determine ifthe data included therein is also valid (step 328). In particular, theauthentication server 116, upon initiating the authentication process,may have generated an OTP using its OTP instructions 136 and transmittedthat OTP to the mobile client device 108. When the user 112 received theOTP at their mobile client device 108, the user 112 may further havebeen prompted to present the OTP, via the mobile client device 108, to acamera 232 of the computing device 204, thereby causing the OTP to bepresented within the same image frame as the image of the user 112.Because the authentication server 116 issued the OTP at the onset of theauthentication process, the authentication server 116 has knowledge ofthe OTP that should be presented by the user 112. Failure of the user112 to present the valid OTP within a predetermined amount of time mayresult in a denial of the authentication attempt (step 316). In someembodiments, the authentication server 116 may be configured todetermine a confidence score for a recognition of the additionalrecognizable data from the image. The confidence score may reflect aconfidence in optical-character recognition results, for instance. Ifthe confidence score is below a predetermined minimum threshold score,then the user 112 may be required to adjust a presentation of the mobileclient device 108 to try and obtain a better recognition of theadditional recognizable data. For instance, the user 112 may be asked tomove the device 108 closer to or further away from the camera 232,adjust a lighting around the camera 232, or the like. However, if avalid OTP (e.g., code 277121 in the example scenario of FIGS. 2 and 3 )is detected within the second region of interest 224 and theauthentication server 116 is able to detect the valid OTP with at leasta predetermined confidence level, then the authentication server 116 maydetermine that the data presented in the second region of interest 224is also valid.

Alternatively or additionally, the OTP could be generated by the mobiledevice 108 in the user's hand. That is, the mobile device 108 could havean enrolled OTP application generating OTPs on a time or event-drivenbasis. The authentication server 116 may likewise have the seed valuefor the OTP, and the authentication server 116 could be configured toconfirm that the OTP generated by the mobile device 108 is correct. Inthis manner, the mobile device 108 in the user's 112 hand need not haveinternet access. In yet another arrangement, the user 112 could simplyhold an OTP keychain token or other like token in his/her hand and usethat device instead of a mobile device 108 such that the OTP keychaintoken or other like token is presented by the user 112 to the camera 232of the computing device 204.

In response to determining that both the user 112 image corresponds to avalid/enrolled user and the additional data corresponds to a valid OTP(e.g., at least within a predetermined confidence level), then theauthentication server 116 may verify the authentication attempt andenable the user 112 to access the protected asset (step 332). Theverification of the authentication attempt may be completed by sending amessage to the user 112 indicating a successful authentication hasoccurred or the user 112 may simply be given access to the protectedasset via their computing device 204 and/or mobile client device 108. Itshould be appreciated that in addition to utilizing the facialrecognition instructions 132 and OTP instructions 136 as part ofperforming the authentication process, the authentication server 116 mayalso utilize its optical code analysis instructions 144 to analyze theOTP within the second region of interest 224. The authentication server116 may also utilize the challenge/response instructions 148 as part ofsending the OTP generated by the OTP instructions 136 to the mobileclient device 108 and recognizing that the OTP presented within theimage frame corresponds to a valid OTP that was previously transmittedby the authentication server 116.

In the above described embodiments, the additional recognizable data canbeneficially act as protection against presentation attacks byunauthorized users. That is, the additional recognizable data canprotect against cases where unauthorized users spoof biometric featuresof the user in the first region of interest 216 in order to gainunauthorized access. Use of the additional recognizable data alsopermits the use of less sophisticated, less computationally complex,and/or less processor-intensive biometric or facial recognition systemsand/or methods for detecting and validating images or informationpresented in the first region of interest 216. For example, simple,easily available, and/or relatively lower cost cameras, such ascommercially available webcams or cameras commercially used on typicalmobile phones or other common mobile devices, may be used for biometricauthentication or facial recognition. Additionally, use of theadditional recognizable data allows for an easier and/or less onerous orburdensome user biometric or facial recognition experience. For example,the user may not need to be required to be substantially still duringbiometric or facial recognition and/or the user may not need to berequired or requested to make certain movements, such as certain head oreye movements or blinks, in order to confirm the system is not beingspoofed.

With reference now to FIGS. 4, 5A, and 5B, a second authenticationprocess will be described in accordance with at least some embodimentsof the present disclosure. This particular authentication process may beenabled by the server 116 executing facial recognition instructions 132,OTP instructions 136, gaze tracking instructions 140, optical codeanalysis instructions 144, and/or challenge/response instructions 148.Although the process will be described in connection with authenticatinga single user 112, it should be appreciated that the process can be usedto authenticate one or multiple users at the same time without departingfrom the scope of the present disclosure.

Referring initially to FIG. 5A, the process begins at step 504 andcontinues by detecting a user 112 within an image frame (step 508).Similar to step 304, the second authentication process may be initiatedby user 112 requesting access to a protected asset or being presentedwith information by the authentication server 116. After the process isinitiated, the user's 112 image may be obtained with a camera 232 of acomputing device 204 and/or with a camera of the user's mobile clientdevice 108. Furthermore, although FIG. 4 depicts the user's 112 image asbeing presented on the user interface 208 of the computing device 204,it should be appreciated that the user's 112 image may be presented on auser interface of the mobile client device 108 without departing fromthe scope of the present disclosure. The image may correspond to one ormore still images or to a video image of the user 112. In other words,the image may correspond to a single image captured as a picture or to aplurality of images captured as video.

The process continues with the facial recognition instructions 132analyzing the one or more images to determine if the user's 112 imagecorresponds to a recognized/authorized user within the userauthentication database 152 (step 512). Facial recognition instructions132 or facial recognition, in general, may include or be performed usingany known or yet-to-be developed facial recognition instructions,methods, systems, or techniques. If this query is answered negatively,then the server 116 may attempt further analysis of the image or simplydeny the authentication attempt (step 516). If, however, the user'simage is recognized as valid, then the process may continue with theserver 116 initiating an additional authentication challenge/responseprotocol (step 520). In particular, the challenge/response instructions148 in cooperation with the gaze tracking instructions 140 may generateone or more Graphical User Interface (GUI) elements 404 for presentationto the user 112 (step 524). In some embodiments, the GUI element(s) 404may be presented to the user 112 via the user interface 208 of thecomputing device 204 (step 528). Alternatively or additionally, the GUIelement(s) 404 may be presented to the user 112 via a user interface ofthe mobile client device 108.

In some embodiments, the GUI element(s) 404 may correspond to a dataentry grid comprising a plurality of predefined areas 408. One or moreof the predefined areas 408 may have no populated data whereas otherpredefined areas 408 may have data populated therein. It should beappreciated that the layout or population of the predefined areas 408with data (e.g., symbols, characters, alphanumeric values, etc.) maydynamically change every time a different GUI element 404 is generatedor each GUI element for a particular user 112 may have the samepredefined areas 408 populated with the same data. In some embodiments,the data populating the predefined areas 408 may correspond to data thatis useable by the user 112 to enter an access code that is known by theuser. In this way, the challenge/response instructions 148 arechallenging a knowledge of the user 112 in addition to already provingthat the user 112 corresponds to a trusted/known user. The layout ofdata within the predefined areas 408 may be kept the same from oneauthentication attempt to the next to facilitate ease of use whereas thelayout of data to different predefined areas 408 from one authenticationattempt to the next may be used to increase system security.

Upon being presented with the GUI element(s) 404, the user 112 may inputtheir code or PIN. In some embodiments, a user 112 may input their codeor PIN by clicking or touching with the finger the squares/areas 408having the appropriate digits of the code/PIN. In some embodiments, thegaze tracking instructions 140 may be configured to track, via the videofeed, the user's 112 gaze simultaneous with the user's 112 entry oftheir code or PIN. If the gaze tracking instructions 140 acknowledgethat the user's 112 gaze is matching the finger or mouse input (e.g.,the user 112 is looking at the predefined area 408 where the manualinput is being received), then the entry of the code or PIN may bedetermined to be valid and not some replay attack.

Alternatively, the user 112 may input their code or PIN by moving theireyes or gaze from one predefined area 408 to the next. In someembodiments, the user 112 may be prompted, by the server 116, to entertheir code or PIN by staring/gazing at their code in a sequentialfashion. As the user 112 gazes from one data element to the next, thegaze tracking instructions 140 may be configured to detect which of thepredefined areas 408 the user 112 is gazing at (step 532). The detectionof the gaze may be performed alone or in connection with also receivinga manual input from the user 112 via the user's finger or a mouse input.If the user 112 gazes at the appropriate predefined areas 408 in theappropriate order and simultaneous with the entry of the code or PIN,then the gaze tracking instructions 140 may determine that the user 112has entered a valid code (step 536). If the user 112 is not determinedto have entered a valid code or has failed to gaze at the appropriateareas 408 when entering the code/PIN, then the authentication attemptmay be denied (step 516). However, if the user 112 is determined to haveentered a valid code by gazing at their predefined code in theappropriate order, then the server 116 may verify the authenticationattempt (step 540).

In some embodiments, the user 112 may be allowed to enter their PIN,password, code, or the like by moving their gaze from one predefinedarea 408 to a next predefined area 408 in a particular order. In theexample of FIG. 4 , the user's 112 PIN/password/code may correspond to“429”, which requires the user 112 to first gaze at the predefined area408 having the first data 412 a for the first symbol of thePIN/password/code, then gaze at the predefined area 408 having thesecond data 412 b for the second symbol of the PIN/password/code, thengaze at the predefined area 408 having the third data 412 c for thethird symbol of the PIN/password/code. If the user 112 gazes as thewrong data or predefined area 408 or gazes at the data in the wrongorder, then the user's 112 authentication attempt may be denied.

As mentioned above, the position of data in the predefined areas 408 maybe randomized, perhaps with the assistance of a random number generatoror similar circuitry. This means that each time the GUI element 404 isgenerated, even if generated for the same user 112, the GUI element 404will appear different from one iteration to the next. While the GUIelement 404 is being presented, in some embodiments, the facialrecognition instructions 132 may be configured to identify the user 112.Said another way, the user 112 may be allowed to enter theirPIN/password/code while their facial image is being analyzed by theserver 116. This effectively removes the need of requiring the user 112to input a user ID, such as an email address or the like. As mentionedabove, avoiding the physical entry or keying in of user identificationinformation, such as a username or email in order to identify the user,protects against key logger attacks. Using gaze tracking in combinationwith facial recognition helps ensure that the video feed is actually alive and genuine video feed, rather than a replay of apreviously-captured video feed.

In some embodiments, the gaze tracking instructions 140 enforce that thecode input and the eye-movements are consistent, making sure that thevideo feed inputted to facial recognition instructions 124 is actuallythe user 112 entering his/her PIN/password/code. Alternatively oradditionally, it may be possible to further increase the security of theGUI element(s) 404 by utilizing OTPs or seeded PINs (e.g., withassistance of the OTP instructions 136). In this way, the data presentedwithin the predefined areas 408 can be further protected from replayattacks and other known types of authentication attacks. Yet anotherpossible alternative to using a PIN is to utilize a security number orlast 4 digits printed on a credit card that has been previously issuedto the user 112.

Referring now to FIG. 5B, an alternative authentication process to thatdepicted in FIG. 5A will be described in accordance with at least someembodiments of the present disclosure. It should be appreciated that anyof the process steps depicted in FIG. 5B may be used in lieu of or as anaddition to the process steps depicted in FIG. 5A. As with the previousmethod, the authentication process begins (step 544) and continues bygenerating a UI for a secret input at a display of a computing device204 (step 548).

The method continues by rendering the UI (step 552) and then starting animage capture process whereby a video feed of the user 112 is capturedwith an image-capture device 232 (step 556). During this image captureprocess a gaze of the user 112 may be tracked with respect to thedisplay. As the user's gaze is tracked, the user 112 may begin to enteror submit the secret input by moving their gaze in an appropriatefashion (step 560).

The method will continue by determining if the secret input isconsistent with or matches the code input by the gaze tracking (step564). If so, then the process may also determine if the user that wassubjected to the gaze tracking is also a recognized user (step 568). Ifso, then the process may also determine if the secret entered by theuser 112 is a valid secret (step 572). As long as all three queries ofsteps 564, 568, and 572 are answered affirmatively, the method willcontinue by accepting the user's authentication attempt (step 576). Ifany of the queries are answered negatively, then the authenticationattempt may be denied (step 580). It should be appreciated that thequeries and analyses associated therewith performed at steps 564, 568,572 may be performed in any sequence or may be performed in parallelwithout departing from the scope of the present disclosure.

An example benefit of some or all of the above described embodimentsutilizing GUI elements 404 for presentation to the user 112 via a userinterface, such as user interface 208, is that such embodiments do notrequire the user possess a particular device, or even a device at all.For example, the user interface could be provided on any suitabledevice, such as a standalone computing device, a kiosk, or an automatedteller machine (ATM).

With reference now to FIGS. 6A, 6B, and 7 , another authenticationprocess will be described in accordance with at least some embodimentsof the present disclosure. This particular authentication process may beenabled by the server 116 executing facial recognition instructions 132and/or challenge/response instructions 148. Although the process will bedescribed in connection with authenticating a single user 112, it shouldbe appreciated that the process can be used to authenticate one ormultiple users at the same time without departing from the scope of thepresent disclosure.

The process begins at step 704 and continues by detecting a user 112within an image frame (step 708). Similar to step 504, thisauthentication process may be initiated by user 112 requesting access toa protected asset or being presented with information by theauthentication server 116. After the process is initiated, the user's112 image may be obtained with a camera of a computing device 204 and/orwith a camera of the user's mobile client device 108. In someembodiments, the authentication process may be initiated by the user 112at their computing device 204 or some device other than their mobileclient device 108. The image of the user 112, however, can be capturedwith either the computing device 208 or the mobile client device 108.

The process continues with the facial recognition instructions 132analyzing the one or more images to determine if the user's 112 imagecorresponds to a recognized/authorized user within the userauthentication database 152 (step 712). This particular step may besimilar to step 512 of FIG. 5 . If the user's 112 image is notrecognized with reference to the user authentication database 152, theauthentication attempt may be denied (step 716). If the user's 112 imageis recognized and the query of step 712 is answered affirmatively, thenthe process may continue with the server 116 initiating an additionalauthentication of the user 112 (step 720). As mentioned above,recognizing the user based on an analysis of the user's image allows theuser to avoid physically entering or keying in user identificationinformation, such as a username or email in order to identify the user,which protects against key logger attacks.

In some embodiments, the server 116 may utilize the challenge/responseinstructions 148 to generate a push notification that is based on thedetermined identity of the user 112 (step 724). In other words, when thefacial recognition process is completed, the user's 112 information maybe obtained from the user authentication database 152. The user's 112information may include an address for the user's 112 mobile clientdevice 108.

The authentication server 116 may be configured to automatically sendthe push notification to the user's 112 mobile client device 108 basedon information obtained for the user 112 from the user authenticationdatabase 152 (step 728). An automated addressing of the pushnotification helps to ensure that the user 112 requesting theauthentication is still within possession of their mobile client device108. Specifically, the push notification may be sent to the mobileclient device 108 with a requirement that the user 112 respond with anapprove or deny input (step 732). If the user 112 responds on theirmobile client device 108 by selecting/swiping an approve input 604, thenthe process may continue with the server 116 verifying theauthentication attempt and allowing the user 113 access to the protectedasset (step 736). In the depicted embodiment, the user 112 verifies thedesire to authenticate on a device 108 that was previously associatedwith the user 112. Furthermore, because the authentication processrelies on some type of biometric recognition of the user 112, thenautomates the push notification and approval request process, the user's112 experience is improved as compared to requiring the user 112 to typein a password or PIN. The biometric recognition combined with the pushnotification also helps defeat key logger attacks and similar types ofsystem attacks. There is also an opportunity for the user 112 to declinethe authentication attempt by selecting/swiping a decline input 608 onthe mobile client device 108. If the user 112 selects the decline input608, then the authentication attempt may be denied (step 716). In someembodiments, the facial recognition may be used for simply identifyingthe appropriate client device 108 to receive the push notificationrather than performing the more processor-intensive biometricrecognition. While such an embodiment may not be as secure (e.g., due tonot performing biometric template matching or a similar biometricauthentication), there is still some security provided by using theassociation between user and device and still requiring a valid userinput at the client device 108. This particular embodiment may, however,vastly improve the user experience because such a process can beperformed relatively quickly.

With reference now to FIG. 8 , another authentication process will bedescribed in accordance with at least some embodiments of the presentdisclosure. This particular authentication process may be enabled by theserver 116 executing OTP instructions 136, optical code analysisinstructions 144, and/or challenge/response instructions 148. Althoughthe process will be described in connection with authenticating a singleuser 112, it should be appreciated that the process can be used toauthenticate one or multiple users at the same time without departingfrom the scope of the present disclosure.

The process begins with a user 112 initiating authentication, forexample by attempting to access an asset that is protected by theauthentication server 116. In some embodiments, the user 112 mayinitiate the process by transmitting a client request from a firstclient device 204 to the server 116 (step S801). In some embodiments,the first client device 204 may correspond to a computing device 204 orany other type of computing device, that may or may not necessarily besolely operated by the user 112.

Upon receiving the request for authentication, the server 116 may invokethe OTP instructions 136 and/or challenge/response instructions 148 togenerate an authentication challenge for the user (step S802). In someembodiments, the generation of an authentication challenge may beencoded within an optical code, such as a barcode, QR code, or the like.In some embodiments, the challenge may be signed by the server 116 toenable a trust verification between the server 116 and the eventualrecipient of the challenge. As a specific but non-limiting example, thechallenge may correspond to a signed JSON Web Token (JWT) that isencoded inside a QR code.

The process continues with the server 116 transmitting the challenge tothe client device 204 that initially transmitted the authenticationrequest (step S803). In some embodiments, the challenge may betransmitted to the client device 204 using a secure web-communicationprotocol (e.g., HTTPS). Upon receiving the challenge, the client device204 may be configured to render or display the challenge via a userinterface (step S804). In some embodiments, the challenge is displayedas a QR code 804 or similar type of optical code.

Thereafter, an interaction may occur between the client device 204 andanother client device, such as the mobile client device 108 (step S805).In some embodiments, the mobile client device 108 may utilize one ormore image sensors to scan the QR code 804 being displayed by the firstclient device 204. When the mobile client device 108 scans the QR code804, the mobile client device 108 may utilize an application storedthereon (e.g., instructions local to the mobile client device 108) togenerate an appropriate user request for presentation to the user 112 ofthe mobile client device 108 (step S806). An example benefit of using anoptical code, such as a barcode, QR code, or the like, is that readingand analyzing such optical codes can be relatively easily integrated inthe application stored on the mobile client device, and such opticalcodes provide consistency in the authentication process. Moreover, theuser has a more seamless experience without requiring the input of anysecrets or passwords into the application. In some embodiments, themobile client device 108 may further analyze the signature of thechallenge to ensure that the challenge was issued by a trusted server116 prior to displaying a prompt to the user 112. If the signature ofthe challenge is verified, then the user 112 may be provided with aprompt to accept or deny the authentication request (similar to the userinterface depicted in FIG. 6B). In some embodiments, if the user 112accepts the authentication request by appropriately selecting an acceptinput on the mobile client device 108, the process continues with themobile client device 108 transmitting a signed response to the server116 (step S807). In some embodiments, the response generated by themobile client device 108 may include an identification number uniquelyassociated with the user 112 and may be signed with a user-specificprivate key. The server 116 may respond by allowing the user 112 accessto the protected asset (e.g., either via the client device 204 or mobileclient device 108). An additional and possibly optional step may involvethe server 116 transmitting a notification to the first client device204 that indicates results of the authentication process (step S808).For instance, if the server 116 received a validly-signed response andwas able to decrypt the response with its public key, then the server116 may verify the authentication attempt and notify the user 112 of thesame via the client device 204 or via the mobile client device 108.

Although the process depicted in FIG. 8 does not show the server 116performing a biometric analysis of the user 112 (e.g., facialrecognition, fingerprint analysis, etc.), embodiments of the presentdisclosure contemplate that the process may be supplemented with abiometric analysis step. For instance, prior to allowing the mobileclient device 108 to sign and encrypt the response at step S806, theuser 112 may be required to perform a biometric authentication eitherwith the mobile client device 108 or with the server 116 as described inconnection with other authentication processes herein.

With reference now to FIGS. 9A, 9B, and 10 , another authenticationprocess will be described in accordance with at least some embodimentsof the present disclosure. This particular authentication process may beenabled by the server 116 executing challenge/response instructions 148.The process may also utilize a form of biometric authentication (e.g.,signature authentication), which may be afforded by the facialrecognition instructions 132 or similar biometric analysis instructions.Although the process will be described in connection with authenticatinga single user 112, it should be appreciated that the process can be usedto authenticate one or multiple users at the same time without departingfrom the scope of the present disclosure. It should also be appreciatedthat the process depicted in FIGS. 9A and 9B may correspond to aone-step authentication process or a two-step authentication processwithout departing from the scope of the present disclosure.Specifically, while FIGS. 9A and 9B are depicted as showing a sequentialprocess, it should be appreciated that a single message can be presentedto the user that simultaneously requires the user 112 to sign tovalidate in a single authentication step.

The process begins at step 1004 when a user 112 invokes anauthentication process. This step may be similar or identical to step704. Once the process is invoked, the authentication server 116 maygenerate and send a request for authentication approval to a clientdevice 108 operated by the user 112 (step 1008). In some embodiments,the request may be transmitted back to the client device that was usedto initiate the authentication process. In some embodiments, the requestmay be transmitted to a client device 108 having a known associationwith the user 112 that initiated the authentication process. Therequest, when received at the target client device 108, may cause theclient device 108 to generate and display a prompt to the user 112requesting whether the user 112 desires to approve or decline theauthentication process (step 1012). In some embodiments, a timer may bestarted when the initial request is sent to the client device 108. Ifthere is no approval response received from the client device 108 withina predetermined amount of time as indicated by the timer (step 1016),then the authentication attempt may be denied (step 1020). In someembodiments, the authentication server 116 may keep open the ability toreceive a valid approval indication from the client device 108 for apredetermined amount of time. If the user 112 declines theauthentication process or the timer expires, then the authenticationattempt will be denied.

If, however, the user 112 selects the approval input 604 before thetimer expires, then the method continues by prompting the user for anapproval signature (step 1024). As shown in FIG. 9B, the user's 112mobile client device 108 may have its user interface updated to includea prompt section 908 along with a signature section 904. The promptsection 908 of the user interface may provide the user 112 withinstructions for responding to the prompt whereas the signature section904 may provide the user 112 with an area to input a signature or othertype of information that proves an identity of the user 112. The user'ssignature may be input at the signature section 904 (step 1028). In someembodiments, the signature may be analyzed within an application of themobile client device 108 or the signature may be sent back to theauthentication server 116 for analysis against known user signatures. Ifthe user's signature is determined to be valid (step 1032), then theauthentication process may be verified and the user may be allowedaccess to a protected asset (step 1036). If the user's signature is notdetermined to be valid, then the authentication attempt may be denied(step 1020). Signature analyzation or validation may include or beperformed using any known or yet-to-be developed instructions, methods,systems, or techniques for analyzing and/or validating a signature.

In some embodiments, the authentication process depicted and describedin connection with FIGS. 6A, 6B, and 7 may be augmented/enhanced withthe authentication process depicted and described in connection withFIGS. 9A, 9B, and 10 . In other words, after facial recognition has beenperformed, then additional user input may be required in the form of asignature. Such an enhanced authentication process may be reserved forauthenticating transactions having at least a predetermined monetaryvalue associated therewith because the additional interactions may notbe as desirable to the user 112, but may be desirable in the form ofadditional security for higher-value transactions.

With reference now to FIG. 11 , another authentication process will bedescribed in accordance with at least some embodiments of the presentdisclosure. The process begins at steps 1104, 1108 when an applicationof a client device 108, such as but not limited to a mobile clientdevice, receives an authentication challenge (step 1108), for example,by reading or scanning an optical code, such as a barcode or QR code, orby receiving a notification, such as a push notification (step 1104).The process may continue with the application acknowledging theauthentication challenge to and/or attempting to retrieve one or moretransaction details from server 116 (step 1112). The server 116 maydetermine whether the authentication challenge is registered in theserver 116 and/or whether the authentication challenge is associatedwith, or intended for, the client device 108 (or the user 112 of theclient device 108) (step 1116). If the server 116 determines that theauthentication challenge is not registered or is not associated with theclient device 108 or user 112, the authentication attempt may be denied(step 1120). If the server 116 verifies the authentication challenge,the application of the client device 108 may generate and display aprompt to the user 112 requesting whether the user 112 desires toapprove or decline the authentication process (step 1124). In someembodiments, the application may keep open the ability to receive avalid approval indication from the user 112 for a predetermined amountof time. If the user 112 declines the authentication process (step 1128)or a timer tracking the predetermined amount of time expires, then theauthentication attempt may be denied (step 1120). If the user 112approves the authentication process (step 1128), the process continueswith the application detecting a user 112 within an image frame (step1132). Similar to that described with respect to various embodimentsherein, the user's 112 image may be obtained with a camera of the clientdevice 108. Alternatively or additionally, the user's 112 image may beobtained with another camera, such as but not limited to a camera ofanother computing device 204 and provided to the application of theclient device 108 (step 1132). In some embodiments, the application maythen include or append metadata with the user's 112 image data (step1136). Non-exhaustive examples of metadata that may be included orappended with the user's 112 image data include an authenticationchallenge ID, a client device 108 ID, a device owner or user 112 ID, atimestamp, etc. Some of this metadata can help prevent against replayattempts by unauthorized users. The application may include a MessageAuthentication Code (MAC) or the like, or may digitally sign the user's112 image data and any metadata appended therewith (step 1136).Thereafter, the application sends an authentication challenge responseincluding the user's 112 image data, and digital signature or MAC, tothe server 116 (step 1140). The authentication challenge response may beencrypted prior to sending to the server.

Upon or after receipt of the authentication challenge response, theserver 116 can, after any decryption, validate any metadata includedwith the response (step 1144), validate the signature or MAC (step1148), and determine whether the user's 112 image is valid (1152). Theserver 116 may determine whether the user's 112 image is valid using,for example, the facial recognition instructions 132 or similarbiometric analysis instructions. If the server 116 determines that anyof the metadata, signature/MAC, or user's 112 image is not valid, theauthentication attempt may be denied (step 1120). If the server 116determines that any metadata, the signature/MAC, and the user's 112image is valid, then the server 116 may verify the authenticationattempt (step 1156) and enable the user 112 to access the protectedasset. Verification of the authentication attempt may further includesending a message to the user 112 indicating a successful authenticationhas occurred, or the user 112 may simply be given access to theprotected asset via, for example, the user's mobile client device 108 oranother computing device 204.

Embodiment disclosed herein, in general, provide relatively strong,multi-factor authentication while requiring less or minimal userinteraction. Many embodiments, for example, involve biometric or facialrecognition to identify the user, thus avoiding a requirement that theuser physically enter or key in user identification information, such asa username or email, and therefore, protect against key logger attacks.

It should be appreciated that the various methods depicted and describedherein may be used in connection with authentication or otherverification processes. For example, embodiments of the presentdisclosure are not necessarily limited to authentication processes, butrather may be used to ask for a user's non-reputable consent or approvalfor an action. For instance, a user may be asked to confirm, consent, orapprove a financial transaction or similar type of activity that occursat a remote server.

It should be appreciated that any combination of authenticationprocesses depicted and described herein can be performed withoutdeparting from the scope of the present disclosure. Alternatively oradditionally, any number of other authentication processes can bedeveloped by combining various portions or sub-steps of the describedauthentication processes without departing from the scope of the presentdisclosure.

Specific details were given in the description to provide a thoroughunderstanding of the embodiments. However, it will be understood by oneof ordinary skill in the art that the embodiments may be practicedwithout these specific details. For example, well-known circuits,processes, algorithms, structures, and techniques have been shownwithout unnecessary detail in order to avoid obscuring the embodiments.

1. A method of authenticating a user, the method comprising: detecting auser within an image; determining that the image comprises additionalrecognizable data; analyzing the additional recognizable data and abiometric feature of the user; determining that the additionalrecognizable data and the biometric feature of the user correspond tovalid additional recognizable data and a valid biometric feature of anenrolled user, respectively; and enabling the user to access a protectedasset based on determining that the additional recognizable data and thebiometric feature of the user correspond to valid additionalrecognizable data and a valid biometric feature of an enrolled user,respectively.
 2. The method of claim 1, wherein the additionalrecognizable data comprises a unique code depicted by a user interfaceof a client device that is near the user within the image.
 3. The methodof claim 1, wherein the biometric feature resides within a first regionof interest within the image, wherein the additional recognizable dataresides within a second region of interest within the image, and whereinthe first region of interest is separate from the second region ofinterest.
 4. The method of claim 1, further comprising: determining aconfidence score for a recognition of the additional recognizable datafrom the image; and notifying the user to adjust a presentation of theadditional recognizable data in response to the confidence score beingless than a predetermined minimum threshold score.
 5. The method ofclaim 1, wherein the additional recognizable data comprises a One TimePassword generated in response to the user initiating an authenticationprocess.
 6. The method of claim 2, further comprising generating theadditional recognizable data at a mobile client device; and renderingthe additional recognizable data via a user interface of the mobileclient device such that the additional recognizable data is capable ofbeing detected within the image.
 7. The method of claim 5, wherein theadditional recognizable data comprises a device type of a mobile clientdevice used to generate the One Time Password.
 8. The method of claim 1,wherein the biometric feature comprises a facial feature of the user andwherein determining that the biometric feature of the user correspondsto a valid biometric feature of an enrolled user comprises generating abiometric template based on the biometric feature and comparing thebiometric template with a stored template that was generated based onthe valid biometric feature of the enrolled user. 9-20. (canceled)
 21. Anon-transitory computer readable medium comprising executableinstructions, that when executed by one or more processors, cause theone or more processors to: detect a user within an image; determine thatthe image comprises additional recognizable data; analyze the additionalrecognizable data and a biometric feature of the user; determine thatthe additional recognizable data and the biometric feature of the usercorrespond to valid additional recognizable data and a valid biometricfeature of an enrolled user, respectively; and enable the user to accessa protected asset based on determining that the additional recognizabledata and the biometric feature of the user correspond to validadditional recognizable data and a valid biometric feature of anenrolled user, respectively.
 22. The non-transitory computer readablemedium of claim 21, wherein the additional recognizable data comprises aunique code depicted by a user interface of a client device that is nearthe user within the image.
 23. The non-transitory computer readablemedium of claim 21, wherein the biometric feature resides within a firstregion of interest within the image, wherein the additional recognizabledata resides within a second region of interest within the image, andwherein the first region of interest is separate from the second regionof interest.
 24. The non-transitory computer readable medium of claim21, wherein the executable instructions further cause the one or moreprocessors to: determine a confidence score for a recognition of theadditional recognizable data from the image; and notify the user toadjust a presentation of the additional recognizable data in response tothe confidence score being less than a predetermined minimum thresholdscore.
 25. The non-transitory computer readable medium of claim 21,wherein the additional recognizable data comprises a One Time Passwordgenerated in response to the user initiating an authentication process.26. The non-transitory computer readable medium of claim 21, wherein theexecutable instructions further cause the one or more processors to:generate the additional recognizable data at a mobile client device; andrender the additional recognizable data via a user interface of themobile client device such that the additional recognizable data iscapable of being detected within the image.
 27. The non-transitorycomputer readable medium of claim 25, wherein the additionalrecognizable data comprises a device type of a mobile client device usedto generate the One Time Password.
 28. The non-transitory computerreadable medium of claim 21, wherein the biometric feature comprises afacial feature of the user and wherein determining that the biometricfeature of the user corresponds to a valid biometric feature of anenrolled user comprises generating a biometric template based on thebiometric feature and comparing the biometric template with a storedtemplate that was generated based on the valid biometric feature of theenrolled user.